import java.util.*;

public class Seccion
{
	private
	   Profesor prof;
	   String num_secc;
	   boolean prof_reg = false;
	   Vector<Estudiante> Estudiantes = new Vector<Estudiante>(0);
	
	public Seccion()
	{
		super();
		prof = new Profesor();
	}
	public Seccion(String s)
	{
		super();
		num_secc = s;
		prof = new Profesor();
	}
	
	public boolean getProfReg()
	{
		return prof_reg;
	}
	
	public void setProfReg(boolean c)
	{
		prof_reg = c;
	}
	public String getNum_secc()
	{
		return num_secc;
	}


	public void setNum_secc(String num_secc)
	{
		this.num_secc = num_secc;
	}


	public Profesor getProf()
	{
		return prof;
	}

	public void setProf(long c,String n,String a,String t)
	{
		this.prof = new Profesor(c,n,a,t);	
	}

	public Estudiante getEstudiante(int i)
	{
		return Estudiantes.elementAt(i);
	}
	public Vector<Estudiante> getEstudiantes()
	{
		return Estudiantes;
	}
	public Vector<Estudiante> getEstudiantesAprob()
	{
		Vector<Estudiante> Est = new Vector<Estudiante>(0);
		for(int i = 0;i < NumeroEstudiante();i++)
			if(Estudiantes.elementAt(i).getEstado())
				Est.add(Estudiantes.elementAt(i));
		return Est;
	}
	public Vector<Estudiante> getEstudiantesAplaz()
	{
		Vector<Estudiante> Est = new Vector<Estudiante>(0);
		for(int i = 0;i < NumeroEstudiante();i++)
			if(!Estudiantes.elementAt(i).getEstado())
				Est.add(Estudiantes.elementAt(i));
		return Est;
	}

	public void InscribirEstudiantes(Estudiante e)
	{
		Estudiantes.add(e);
	}

	public int Buscar(long ced)
	{
		for(int i = 0;i < NumeroEstudiante();i++)
			if(Estudiantes.elementAt(i).getCedula() == ced)
				return i;
		return -1;
	}
	
	public void RetirarEstudiante(int x)
	{
		Estudiantes.removeElementAt(x);
	}
	
	public int NumeroEstudiante(){
		return Estudiantes.size();
	}
	
	public void AplicarEvaluaciones()
	{
		for(int i = 0;i < NumeroEstudiante();i++)
			Estudiantes.elementAt(i).presentarEvaluacion();
	}
	
	public void EvaluarEstuduantes()
	{	
		for(int i = 0;i < NumeroEstudiante();i++)              
	      	this.prof.EvaluarEstudiante(Estudiantes.elementAt(i)); 
	}
		
	public float Promedio()
	{
		float t = 0;
		for(int i = 0;i < NumeroEstudiante();i++)              
	      	t += Estudiantes.elementAt(i).getNota_final();
		return t / NumeroEstudiante();
	}
	public void OrdenarEstudianteNota()
	{
		   int x = 1;      
		   Estudiante est = new Estudiante();
		   boolean ordenar;
		   do
		   {
			   ordenar = false;
			   for(int i = 0;i < NumeroEstudiante()-x;i++)
				   if(Estudiantes.elementAt(i).getNota_final() < Estudiantes.elementAt(i+1).getNota_final())
					   {
					       est = Estudiantes.elementAt(i);
					       Estudiantes.setElementAt(Estudiantes.elementAt(i+1),i);
					       Estudiantes.setElementAt(est,i+1);
						   ordenar = true;
					   }
			   x++;
		   }while(ordenar);
		}
	public void OrdenarEstudianteCed()
	{
	   int x = 1;
	   Estudiante est = new Estudiante();
	   boolean ordenar;
	   do
	   {
		   ordenar = false;
		   for(int i = 0;i < NumeroEstudiante()-x;i++)
			   if(Estudiantes.elementAt(i).getCedula() > Estudiantes.elementAt(i+1).getCedula())
				   {
				       est = Estudiantes.elementAt(i);
				       Estudiantes.setElementAt(Estudiantes.elementAt(i+1),i);
				       Estudiantes.setElementAt(est,i+1);
					   ordenar = true;
				   }
		   x++;
	   }while(ordenar);
	}
}